<?php
//GZid - Connexion par Facebook
//Copyright 2011 Hugo Caille

include("core.php");

if(FACEBOOK_ID==""){ exit(0); } //Quitte si l'API Facebook est inactive

define("REDIRECT",SERVER_URL."/facebook2.php");

$code=$_GET['code'];

$token = file_get_contents("https://graph.facebook.com/oauth/access_token?client_id=".FACEBOOK_ID."&redirect_uri=".REDIRECT."&client_secret=".FACEBOOK_SECRET."&code=".$code);
$json=file_get_contents("https://graph.facebook.com/me?".$token);
$data=json_decode($json);


include("core.php");
error_reporting(-1);
	//Inclusion de la classe cache
	initclass("cache");
	$cache=new Cache();
	
	//Récupération du cookie
	$id=$_COOKIE['gzid'];
	
	//Si l'ID n'existe pas, on bloque
	if(!$cache->is_id($id)){
		echo("Le jeton d'identification est faux.");
		exit(0);
	}
	
	//Récupération du hash correspondant
	$hash=$cache->get($id,"server");
	
	//Si le hash est vide, on arrête
	if(empty($hash)){ exit(0); }

//      oid_catch.php

	$id=$data->{'id'};
	$name=$data->{'name'};
	$email=$data->{'email'};


//Ajout des données à la base de données
	initclass("openid");
	$oid=new OpenID();
	
	$oid->add("facebook:".$id,"Facebook",$name,$email);
	$login="facebook:".$id;
	$dex=base64_encode(makejson($login,"3rd"));
	$url=makeurl($_COOKIE['return'],$login,$dex,$_COOKIE['gzid'],$hash);

	//Suppression du hash de la base
	$cache->del($id,"server");	
	
	//Redirection
	header("Location: ".$url);


?>
